Skip to content

#455 [Feat] 배틀 시나리오 감정 톤 + 철학자 보이스 매핑 인프라 - #456

Merged
si-zero merged 6 commits into
devfrom
feat/#455
Sep 10, 2026
Merged

#455 [Feat] 배틀 시나리오 감정 톤 + 철학자 보이스 매핑 인프라#456
si-zero merged 6 commits into
devfrom
feat/#455

Conversation

@si-zero

@si-zero si-zero commented Sep 9, 2026

Copy link
Copy Markdown
Member

#️⃣ 연관된 이슈

📝 작업 내용

배틀 발행 자동화(붙여넣기 파서)의 선행 인프라. 감정 톤을 구조화해 저장하고 TTS(Fish Audio S2.1 Pro)에 반영하며, 철학자별 보이스를 테이블로 관리한다.

✨ Feat

내용 파일
철학자 → Fish 보이스(reference_id) 매핑 엔티티/리포지토리 + 초기 시드 SQL PhilosopherVoice.java, PhilosopherVoiceRepository.java, docs/db/20260910_seed_philosopher_voice.sql
철학자 보이스 매핑 어드민 CRUD (/api/v1/admin/philosopher-voices) AdminPhilosopherVoiceController.java, PhilosopherVoiceService.java, PhilosopherVoiceRequest.java, PhilosopherVoiceResponse.java
Tone enum 신설 (NEUTRAL 포함 9값, 인라인 태그 해석/정규화 포함) Tone.java
scenario_scripts.tone 컬럼 추가 + DTO/컨버터 반영, tone 변경 시 오디오 재생성 트리거 Script.java, ScriptRequest.java, ScriptResponse.java, AdminScenarioScriptRequest.java, AdminScenarioScriptResponse.java, ScenarioConverter.java, ScenarioServiceImpl.java, AdminScenarioService.java
TTS 합성 직전 텍스트 정규화(톤 태그 주입 + [soft]/[pause]/[long pause] → Fish 정식 표기) TtsTextNormalizer.java
TtsServiceTone 파라미터 추가, Fish 구현체에 model: s2.1-pro 헤더 명시(기존 기본값과 동일, 버전 고정), 파이프라인 연결 TtsService.java, FishAudioTtsServiceImpl.java, ElevenLabsTtsServiceImpl.java, ScenarioAudioPipelineService.java, application.yml

📌 공유 사항

  1. philosopher_voice 테이블은 ddl-auto:update가 생성한다. 초기 데이터는 docs/db/20260910_seed_philosopher_voice.sql을 dev/prod에 1회 실행해야 한다 (ON CONFLICT DO NOTHING이라 재실행 안전).
  2. FISHAUDIO_TTS_MODEL env 미설정 시 기본 s2.1-pro. 기존에도 서버 기본이 s2.1이라 합성 동작 변화 없음.
  3. 설계 문서: 배틀_발행_시나리오_현행_vs_개선.md 2.4 / 2.5 / 2.6.
  4. 후속 PR: POST /api/v1/admin/battles/parse 붙여넣기 파서 + LLM 배치 감정 분류.

✅ 체크리스트

  • 컨벤션에 맞는 Type을 선택했나요?
  • 로컬에서 실행했을 때 에러가 발생하지 않나요?
  • Merge 하려는 브랜치가 올바르게 설정되어 있나요? (dev)

💬 리뷰 요구사항

  1. 톤은 enum 컬럼, 오디오 효과 태그([sighing] 등)는 text 인라인 유지로 분리했습니다. 이 경계가 적절한지 봐주세요.
  2. 효과 표기 정규화 목록(TtsTextNormalizer.EFFECT_ALIASES)은 착수 후 Fish S2.1 프로브 테스트로 확정 예정입니다.

@si-zero si-zero self-assigned this Sep 10, 2026
@si-zero si-zero added the ✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다. label Sep 10, 2026
@si-zero
si-zero merged commit 6891d33 into dev Sep 10, 2026
1 check passed
@si-zero
si-zero deleted the feat/#455 branch September 10, 2026 23:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant